package com.lxk.mall.pms.domain;

import lombok.Builder;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 商品评论对象 pms_product_comment
 *
 * @author Lion Li
 * @date 2024-06-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pms_product_comment")
public class PmsProductComment extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 评论编号，主键自增
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 商户id
     */
    private Long merId;

    /**
     * 评价人的用户编号，关联 MemberUserDO 的 id 编号
     */
    private Long userId;

    /**
     * 评价人名称
     */
    private String userNickname;

    /**
     * 评价人头像
     */
    private String userAvatar;

    /**
     * 是否匿名
     */
    private Boolean anonymous;

    /**
     * 交易订单编号，关联 TradeOrderDO 的 id 编号
     */
    private Long orderId;

    /**
     * 交易订单项编号，关联 TradeOrderItemDO 的 id 编号
     */
    private Long orderItemId;

    /**
     * 商品 SPU 编号，关联 ProductSpuDO 的 id
     */
    private Long spuId;

    /**
     * 商品 SPU 名称
     */
    private String spuName;

    /**
     * 商品 SKU 编号，关联 ProductSkuDO 的 id 编号
     */
    private Long skuId;

    /**
     * 图片地址
     */
    private String skuPicUrl;

    /**
     * 属性数组，JSON 格式 [{propertId: , valueId: }, {propertId: , valueId: }]
     */
    private String skuProperties;

    /**
     * 是否可见，true:显示false:隐藏
     */
    private Boolean visible;

    /**
     * 评分星级1-5分
     */
    private Integer scores;

    /**
     * 描述星级 1-5 星
     */
    private Integer descriptionScores;

    /**
     * 服务星级 1-5 星
     */
    private Integer benefitScores;

    /**
     * 评论内容
     */
    private String content;

    /**
     * 评论图片地址数组
     */
    private String picUrls;

    /**
     * 商家是否回复
     */
    private Boolean replyStatus;

    /**
     * 回复管理员编号，关联 AdminUserDO 的 id 编号
     */
    private Long replyUserId;

    /**
     * 商家回复内容
     */
    private String replyContent;

    /**
     * 商家回复时间
     */
    private Date replyTime;

    /**
     * 是否删除
     */
    @TableLogic
    private String delFlag;


}
